package com.example.d8_homework.homework03;

import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        // 定义问题文件和结果文件的路径
        String questionFilePath = "day20-io\\src\\questions.txt";
        String resultFilePath = "day20-io\\src\\result.txt";

        // 读取文件内容
        try (
                // 使用BufferedReader读取问题文件
                BufferedReader br = new BufferedReader(new FileReader(questionFilePath));
                // 使用BufferedWriter写入结果文件,追加模式
                BufferedWriter bw = new BufferedWriter(new FileWriter(resultFilePath, true))
        ) {
            // 创建一个列表存储文件中的每一行数据
            List<String> data = new ArrayList<>();
            String line;
            // 循环读取文件中的每一行数据,并将其添加到列表中
            while ((line = br.readLine()) != null) {
                data.add(line);
            }

            // 遍历读取到的数据列表
            for (String s : data) {
                // 使用空格分割字符串,获取数字和操作符
                String[] split = s.split(" ");
                // 将第一个元素解析为整数
                int num1 = Integer.parseInt(split[0]);
                // 将第三个元素解析为整数
                int num2 = Integer.parseInt(split[2]);
                // 获取第二个元素的第一个字符作为操作符
                char operator = split[1].charAt(0);

                // 初始化结果变量
                int result = 0;
                // 根据操作符进行相应的算术操作
                switch (operator) {
                    case '+':
                        result = num1 + num2;
                        break;
                    case '-':
                        result = num1 - num2;
                        break;
                    case '*':
                        result = num1 * num2;
                        break;
                    case '/':
                        // 检查除数是否为0
                        if (num2 == 0) {
                            System.out.println("除数不能为0");
                            return;
                        }
                        result = num1 / num2;
                        break;
                }

                // 把result转成字符串,在写入到文件中
                String resultStr = String.valueOf(result);
                // 写入结果到文件
                bw.write(resultStr);
                // 换行
                bw.newLine();
            }
        } catch (Exception e) {
            // 打印异常信息
            e.printStackTrace();
        }
    }
}
